不変性: 別名参照問題(『堅牢なコードを書く』)
#別名参照問題
スライド46〜57
契約期間を表す
PHPでDateTimeを使ったコード
Aの契約期間にxmas2020〜xmas2021
Bの契約期間にxmas2021〜endOfTrial
Aの契約をrenew
xmas2021が指す値自身が書き換わる
Bの契約の開始が2022-12-25になる
DateTimeImmutableを使う
renewで新しい契約を作って返す